var http = require('http');

var server = http.createServer(function(req, res){
	if(req.url !== '/favicon.ico'){

		// headersSent属性 -- 判断响应头是否已发送
		if(res.headersSent)
			console.log("headers are sent");
		else
			console.log("header are not sent");



		// writeHead方法--发送响应头信息
		// res.writeHead(200, {'content-type':'text/plain',
		// 'Access-Control-Allow-Origin':'http://localhost'});


		// 如果没有使用writeHead方法指定响应头对象，可以使用setHeader单独设置响应头信息 
		// 当不使用writeHead方法设置状态码，可以通过该属性设置HTTP服务器返回的状态码
		// res.statusCode = 404;
		// res.sendDate = false;
		res.setHeader("Content-Type", "text/plain");
		res.setHeader('Access-Control-Allow-Origin', 'http://localhost');
		// 如果要使用addTrailers方法，在必须在响应头中添加Trailer字段，
		// 并将字段值设置为追加的响应头中所指定的字段名
		res.setHeader('Trailer', 'Content-MD5');



		// removeHeader方法--删除一个响应字段
		// 该方法必须在使用res.wirte方法发送数据之前被调用
		// 删除Access-Control-Allow-Origin字段，报错--跨域
		// res.removeHeader("Access-Control-Allow-Origin");



		// headersSent属性 -- 判断响应头是否已发送
		if(res.headersSent)
			console.log("headers are sent");
		else
			console.log("header are not sent");
		


		res.write("你好");
		res.addTrailers({'Content-MD5': '787283dd2342324dfs2222'});


		// headersSent属性 -- 判断响应头是否已发送
		if(res.headersSent)
			console.log("headers are sent");
		else
			console.log("header are not sent");


		// getHeader方法 -- 获取响应头中的某个字段信息
		console.log(res.getHeader('Content-Type'));


		console.log(res.statusCode);
		console.log(res.sendDate);
	}
	res.end();
}).listen(1337, "localhost");

// 把服务器端口指定为1337，并从端口为80的网站中运行，是一种跨域操作。
// 需要在HTTP响应头添加Access-Control-Allow-Origin字段，
// 并且将参数指定为允许向服务器请求数据的域名+端口号
// (省略端口号时允许该域名下的任何端口向服务器请求数据)